// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default (index) => ({
  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixScreen()],

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(require.context('./components', true, /vue$/)),

  /**
   * 状态数据 (函数返回对象)
   */
  data() {
    return {
      personVisible: false, // 个人可见
      personName: '', // 个人名称
    }
  },

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 数据对象
     */
    obj() {
      const { DICT, info } = this
      const code = DICT.TYPE[index][2]
      return info[code]
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 打开个人图表
     */
    toOpen({ name }) {
      this.personName = name
      this.personVisible = true
    },

    /**
     * 关闭个人图表
     */
    toClose() {
      this.personName = ''
      this.personVisible = false
    },
  },
})
